package io.github.echarts.render.background;

import io.github.echarts.model.ChartModel;
import io.github.echarts.render.GraphicsRenderer;

/**
 * 背景渲染器类
 * 负责渲染图表的背景部分，包括背景色、背景图片等
 */
public class BackgroundRenderer {
    
    /**
     * 渲染图表背景
     * 
     * @param model 图表模型
     * @param renderer 图形渲染器
     */
    public void renderBackground(ChartModel model, GraphicsRenderer renderer) {
        // 获取背景颜色
        String backgroundColor = getBackgroundColor(model);
        
        // 渲染背景色
        if (backgroundColor != null && !backgroundColor.isEmpty()) {
            renderBackgroundColor(backgroundColor, model.getWidth(), model.getHeight(), renderer);
        }
        
        // 如果有背景图片，渲染背景图片
        // 暂不实现背景图片渲染
    }
    
    /**
     * 获取背景颜色
     * 
     * @param model 图表模型
     * @return 背景颜色字符串表示
     */
    private String getBackgroundColor(ChartModel model) {
        // 从模型中获取背景颜色配置
        // 这里假设模型中有获取背景颜色的方法
        return model.getBackgroundColor();
    }
    
    /**
     * 渲染背景颜色
     * 
     * @param backgroundColor 背景颜色
     * @param width 图表宽度
     * @param height 图表高度
     * @param renderer 图形渲染器
     */
    private void renderBackgroundColor(String backgroundColor, int width, int height, GraphicsRenderer renderer) {
        // 渲染一个覆盖整个图表区域的矩形作为背景
        renderer.drawRect(0, 0, width, height, true, backgroundColor, null);
    }
} 